package com.zhijian.medical.entity.po;

import com.zhijian.medical.entity.vo.response.CodeVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import java.util.Date;

/**
 * 人员
 *
 * @author Auto Generator
 * @date 2022-01-01 15:41:25
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Api(tags = "人员")
public class Person extends CodeVo {

    private static final long serialVersionUID = -4653492366122055946L;

    /**
     * id
     */
    @ApiModelProperty(value = "id", hidden = true)
    private Long id;

    /**
     * 负责人名称
     */
    @ApiModelProperty("负责人名称")
    @NotBlank(message = "负责人名称不能为空")
    private String name;

    /**
     * 负责人电话
     */
    @ApiModelProperty("负责人电话")
    @NotBlank(message = "负责人电话不能为空")
    private String phone;

    /**
     * 密码
     */
    @ApiModelProperty(value = "密码", hidden = true)
    private String password;

    /**
     * 盐
     */
    @ApiModelProperty(value = "盐", hidden = true)
    private String salt;

    /**
     * 工号
     */
    @ApiModelProperty("工号")
    @NotBlank(message = "工号不能为空")
    private String jobNumber;

    /**
     * 状态，0：在职，1：离职，2：进修
     */
    @ApiModelProperty("状态，0：在职，1：离职，2：进修")
    private Byte status;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String note;

    /**
     * 邮箱地址
     */
    @ApiModelProperty("邮箱地址")
    private String email;

    /**
     * 机构id，只有厂商人员才有此字段
     */
    @ApiModelProperty(value = "机构id，只有厂商人员才有此字段", hidden = true)
    private Long cooperativeInstitutionId;

    /**
     * 类型，0：在职员工，1：规培生，2：进修生，3：研究生
     */
    @ApiModelProperty("类型，0：在职员工，1：规培生，2：进修生，3：研究生")
    private Byte type;

    /**
     * 头像
     */
    @ApiModelProperty("头像")
    private String avatar;

    /**
     * 年份，只有规培生才有
     */
    @ApiModelProperty("年份，只有规培生才有")
    private String year;

    /**
     * 实习生学校
     */
    @ApiModelProperty("实习生学校")
    private String sxSchool;

    /**
     * 实习生、研究生、辅助人员状态
     */
    @ApiModelProperty("实习生、研究生、辅助人员状态")
    private String stuStatus;

    /**
     * 学生状态第二级
     */
    @ApiModelProperty("学生状态第二级")
    private String stuStatusChild;

    /**
     * 辅助人员公司名称
     */
    @ApiModelProperty("辅助人员公司名称")
    private String fzCompany;

    /**
     * 辅助人员岗位
     */
    @ApiModelProperty("辅助人员岗位")
    private String fzGw;

    /**
     * 实习证号
     */
    @ApiModelProperty("实习证号")
    private String sxzh;

    /**
     * 原单位
     */
    @ApiModelProperty("原单位")
    private String exCompany;

    /**
     * 职务、科室
     */
    @ApiModelProperty("职务、科室")
    private String zwKs;

    /**
     * 访问时间
     */
    @ApiModelProperty("访问时间")
    private String visitTime;

    /**
     * 签字图片地址
     */
    @ApiModelProperty("签字图片地址")
    private String signPic;

    /**
     * create_time
     */
    @ApiModelProperty(value = "create_time", hidden = true)
    private Date createTime;

    /**
     * update_time
     */
    @ApiModelProperty(value = "update_time", hidden = true)
    private Date updateTime;
}